Noise is one of the main causes of degradation in images (e.g., video and still images) captured by image sensors. Conventional noise filtering techniques typically apply various averaging or smoothing operations to suppress noise, under the assumption that noise is random and unstructured such that it can be canceled out by averaging or smoothing.
However, the assumption of unstructured randomness of noise is not accurate. In fact, noise may include both a fixed pattern noise (FPN) component (e.g., due to column noise in readout circuitry, irregular pixel sizes, and/or other irregularities) and a random noise component. The FPN component may appear as a noisy pattern that is essentially constant through time, and as such it is not attenuated by averaging, but often becomes even more visible after conventional noise filtering. The FPN becomes more problematic for low-cost sensors, sensors with extremely narrow pixel-pitch, or sensors operating in implementations with a very low signal-to-noise ratios (SNRs) (e.g., in low-light imaging, thermal imaging, range imaging, or other imaging applications with low SNRs). Furthermore, for most imagers, both the FPN and random noise components are typically structured (e.g., colored noise), with different correlations present in the FPN and random noise components. Thus, conventional filtering techniques often produce images with prominent structured artifacts.